/*
 * Copyright (c) <2025> <shihaorui> and <2501060546@qq.com>. All rights reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Contributor: <shihaorui> (<2501060546@qq.com>)
 */
 
#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(SegmentMinCooTilingData)
  TILING_DATA_FIELD_DEF(uint32_t, srcLength);
  TILING_DATA_FIELD_DEF(uint32_t, ubPartDataNum);
  TILING_DATA_FIELD_DEF(uint32_t, E_1);
  TILING_DATA_FIELD_DEF(uint32_t, nSegments);
  TILING_DATA_FIELD_DEF(uint32_t, K);
  TILING_DATA_FIELD_DEF(uint32_t, indexNum);
  TILING_DATA_FIELD_DEF(uint32_t, coreDataNum);
  TILING_DATA_FIELD_DEF(uint32_t, coreTailDataNum);
  TILING_DATA_FIELD_DEF(uint32_t, ALIGN_NUM);
  TILING_DATA_FIELD_DEF(uint32_t, aivNum);
  TILING_DATA_FIELD_DEF(uint32_t, logicalM);
  TILING_DATA_FIELD_DEF(uint32_t, logicalIndexNum);
  TILING_DATA_FIELD_DEF(uint32_t, indexPhysicalNum);
  TILING_DATA_FIELD_DEF(uint32_t, strideE1);
  TILING_DATA_FIELD_DEF(uint32_t, strideM);

  TILING_DATA_FIELD_DEF(uint32_t, idxDimNum);
  TILING_DATA_FIELD_DEF_ARR(uint32_t, 8, logicalShape);
  TILING_DATA_FIELD_DEF_ARR(uint32_t, 8, idxPhysicalShape);
  TILING_DATA_FIELD_DEF_ARR(uint32_t, 8, idxStrides);
END_TILING_DATA_DEF;

REGISTER_TILING_DATA_CLASS(SegmentMinCoo, SegmentMinCooTilingData)
}
